In Operators§
See primary documentation in context for circumfix [ ]
The Array constructor returns an itemized Array
that does not flatten in list context. Check this:
say .raku for [3,2,[1,0]]; # OUTPUT: «32$[1, 0]»
This array is itemized, in the sense that every element constitutes an item, as shown by the $
preceding the last element of the array, the (list) item contextualizer.
In Operators§
See primary documentation in context for postcircumfix [ ]
sub postcircumfix:<[ ]>(, **,:, :, :, :, :, :)
Universal interface for positional access to zero or more elements of @container, a.k.a. "array indexing operator".
my = 'a' .. 'z';say [0]; # OUTPUT: «a»say [1]; # OUTPUT: «b»say []; # OUTPUT: «z»say [100]:exists; # OUTPUT: «False»say [17, 0, 10, 20].join; # OUTPUT: «raku»say [23 .. *].raku; # OUTPUT: «("x", "y", "z")»[1, 2] = "B", "C";say [0..3].raku; # OUTPUT: «("a", "B", "C", "d")»
See Subscripts, for a more detailed explanation of this operator's behavior and for how to implement support for it in custom types.